Breath of Fire 4 (PS1) quick guide on how to find and edit fish stats.  By Tony H.  11/21/2023

Fish stats covered here: Length for max point bonus, bonus points, bait that the fish likes/dislikes, Strength/Stamina.  There is other data in the table that I haven't mapped yet.

Other fishing stuff that can be found in my BoF4 editor: Points required for fishing ranks, what kind of fish (and how many) can be caught in the different fishing locations.

You'll need to use a hex editor to find and edit this stuff below.  Note that there are 12 occurrences of this table in the ROM.  Most likely for the 12 different fishing locations.  Most/all online guides only show 11 fishing locations, but there are actually 12 in the ROM.  It appears that there are two different versions on the "Ocean Spot 3" location.

Note that I haven't tested a lot of this stuff yet, but it should be correct.  I did lots of testing for similar stats on Breath of Fire 3, so I'm basing some of this on those tests.

This guide will use the "Breath of Fire IV (USA) (Track 1).bin" ROM.  It seems to be the only USA version there is on every ROM site I went to.


The fish stat table starts at 0x119641D4.  To make sure you're in the right spot, these are the first 4 bytes that should be there: 1E005000.  PlayStation ROMs use little endian (reversed bytes).

Each fish gets 0x3A bytes.  You can see the order of the fish by looking at the plain text in the ROM at this address: 0x0DE16BA8.  It starts with the Jellyfish, then the Piranha, etc.  It looks like some of the fish are listed more than once in the fish stat table.  Not sure yet if the stats are different for those or not.

Jellyfish stats start at 0x119641D4...

* The first 2 bytes are for the max size to get the bonus points.
* The next 2 bytes are for the number of points you get.
* The next 6 bytes appear to be for what type of bait that fish likes or dislikes.  There are 20 different types of bait, but I think they get bunched into 6 different groups.  A value of 0xFF means the fish won't bite it.  Other values determine how much they like it.  I think lower values mean they like it more (0 = they love it).  Haven't tested any of this yet.  See notes for this below.
* There are several bytes next that I haven't mapped yet.
* The last byte (byte 0x39) looks to be for Stamina/Strength, but haven't tested it yet.

Piranha is next and starts at 0x1196420E and follows the same format, and the rest of the fish follow.

These should be the 6 different types of bait mentioned above (not sure about the order):
Spinner
Winder
Topper
Minnow
Frogger
Worm

You can find out more about these 6 groups of bait here: 
https://gamefaqs.gamespot.com/ps/196818-breath-of-fire-iv/faqs/9833

Important: There are a few places where the table gets interrupted by some unrelated data.  This first 'unrelated' data starts at 0x119643F8 and is 0x130 bytes long.  The fish stat table continues after the 0x130 bytes.  The data within this 0x130 bytes has nothing to do with the table, so just ignore it.
